// 引入用于 webpack配置文件merge的包
const { merge } = require('webpack-merge')
// 引入通用配置信息
const common = require('./webpack.common')
const MiniCssExtractPlugin = require('mini-css-extract-plugin')
const CssMinimizerPlugin = require('css-minimizer-webpack-plugin')

const config = {
  // 指定该配置为生产模式
  mode: 'production',
  // 重新设置生产环境下的源码映射输出类型
  devtool: 'source-map',
  // 配置部署生产需要的一些优化插件
  plugins:[
  ],
  optimization: {
    minimizer: [
      // 将css文件单独导出为文件，并使用 contenthash 的 哈希模式
      // contenthash 一方面方便文件修改时及时更新，另一方面在未涉及修改时不更新
      new MiniCssExtractPlugin({
        filename: '[name].[contenthash].css',
      }),
    ],
  }
}

module.exports = merge(common, config)